@Niki
2年前 提问
1个回答

SQL主从备份原理是什么

在下炳尚
2年前

SQL主从备份原理是以下六点:

  • 从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;

  • 主库IO线程对比从库发送过来的master.info里的信息,将binlog文件信息,偏移量和binlog文件名等发送给从库

  • 从库接收到信息后,将binlog信息保存到relay-bin中,同时更新master.info的偏移量和binlog文件名

  • 从库的SQL线程不断的读取relay-bin的信息,同时将读到的偏移量和文件名写道relay-log.info文件,binlog信息写进自己的数据库,一次同步操作完成。

  • 完成上次同步后,从库IO线程不断的向主库IO线程要binlog信息

  • 从库如果也要做主库,也要打开log_bin 和log-slave-update参数

mysql主从复制存在的问题:

  • 主库宕机后,数据可能丢失

  • 从库只有一个sql Thread,主库写压力大,复制很可能延时

解决方法:

  • 半同步复制—解决数据丢失的问题

  • 并行复制—-解决从库复制延迟的问题